/*
 【入门】淘淘捡西瓜
  题目描述
    地上有一排西瓜，每个西瓜都有自己的重量。
    淘淘有一个包，包的容量是固定的，淘淘希望尽可能在包里装更多的西瓜（当然要装整个的，不能切开装），
    请问淘淘的包最多能装下多少个西瓜？
  输入
    第一行两个整数 n，x，表示有 n 个西瓜，背包容量是 x。（1 <= n <= 100）
    下面 n 个整数数，表示西瓜的重量。
  输出
    一个整数，表示淘淘最多能装多少西瓜回家。
  样例输入
    5 10
    2 3 1 5 4
  样例输出
    4
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n, x;
    int a[105];

    cin >> n >> x;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }

    // 对 a[1] ~ a[n] 按从小到大的顺序进行排序
    sort(a + 1, a + n + 1);

    int x1 = 0;
    for (int i = 1; i <= n; i++) {
        if (x1 + a[i] > x) {
            cout << i - 1;
            return 0;
        } else {
            x1 = x1 + a[i];
        }
    }
    cout << n;

    return 0;
}